home *** CD-ROM | disk | FTP | other *** search
/ Megahits 6 / Megahits 6 (1995)(GTI - Rhein-Main-Soft)(DE)(Disc 2 of 2)[!].iso / time_ungepackt / time_361_390 / time_367 / masken.lzh / PicBase / picbase.rexx < prev    next >
OS/2 REXX Batch file  |  1994-10-16  |  3KB  |  95 lines

  1. /****************************************************************************
  2.  ARexx Skript zur automatischen Erzeugung von Thumbnails mit ADPro und
  3.  anschliessender Übername der Daten in DataBase.
  4.  
  5.  Dazu muß   - DataBase laufen und die 'picbase.db' Datei geladen sein
  6.             - ADpro laufen
  7.  
  8.  Das ARexx Skript sollte durch das Skript 'PictureBase' aufgerufen werden.
  9.  02.09.94, Jörg Richter
  10. *****************************************************************************/
  11.  
  12. PARSE ARG argline
  13. PARSE VAR argline path source bild length DB .
  14. /*
  15.    path   = Pfad für das erzeugte Thumbnail
  16.    source = Quellpfad der Bilder
  17.    bild   = Pfad und Name des eigentlichenen Bildes
  18.    length = Dateilänge des Bildes
  19.    DB     = Pfad von Database
  20. */
  21.  
  22. OPTIONS RESULTS
  23.  
  24. RenderScreen = "Amiga 167936 640 256 256"  /* ADpro RenderScreen */
  25. /*                    dispID  x   y  colors */
  26.  
  27. DIAsize = 120  /* Vorschaugröße */
  28. TempDefaults = "T:ADPro.defaults"  /* Datei mit Einstellungen von ADpro */
  29.  
  30. IF RIGHT(path,1) ~= "/" THEN DO
  31.   IF RIGHT(path,1) ~= ":" THEN
  32.     path = path || "/"
  33. END
  34.  
  35. path = path || DelStr(bild,1,Length(source))
  36.  
  37. pos = MAX(LastPos("/",bild),LastPos(":",bild))+1
  38. bildname = SubStr(bild,pos,Length(bild)-pos+1)    /* Bildname ermitteln */
  39.  
  40. path = SubStr(path,1,Length(path)-Length(bildname))
  41.  
  42. IF Exists(path || bildname) = 1 THEN /* Falls Thumbnail schon existiert */
  43.   EXIT                           /* weiter mit nächsten Bild        */
  44.  
  45. ADDRESS DataBase
  46. Message "Bearbeite " || bild || " ..."
  47.  
  48. ADDRESS "ADPro"
  49.  
  50. SAVE_DEFAULTS TempDefaults  /* aktuelle Einstellungen von ADpro sichern */
  51.  
  52. PSTATUS "LOCKED"  /* Feste Farbpalette bei allen Bildern */
  53. DITHER 1          /* Floyd-Steinberg Dithering           */
  54.  
  55. LOADER "UNIVERSAL" bild  /* Übergebendes Bild laden */
  56. IF RC ~= 0 THEN EXIT     /* Abbruch falls Fehler    */
  57. XSIZE
  58. width = ADPRO_RESULT     /* Bildbreite und -höhe    */
  59. YSIZE
  60. height = ADPRO_RESULT
  61.  
  62. IF width > height THEN DO
  63.   yy = (height/width) * DIAsize
  64.   xx = DIAsize
  65.   END
  66. ELSE DO
  67.   xx = (width/height) * DIAsize
  68.   yy = DIAsize
  69.   END
  70.  
  71. ABS_SCALE xx yy
  72.  
  73. SET_RENDER_MODE RenderScreen
  74. EXECUTE  /* Bild in den Screen mit fester Farbpalette rendern */
  75.  
  76. SAVER "IFF" path || bildname "IMAGE"  /* Als 8 bit IFF in die Thumbnail */
  77.                                       /* Schublade speichern            */
  78. LOAD_DEFAULTS TempDefaults  /* Zurücksetzen der Einstellungen von ADpro */
  79.  
  80.  
  81. ADDRESS DataBase
  82.  
  83. Add                                 /* neuen Datensatz hinzufügen          */
  84. PutData $F1 bild                    /* Orginalbildname und -pfad in Feld 1 */
  85. PutData $F2 length                  /* Dateilänge des Bildes in Feld 2     */
  86. PutData $F3 width || "x" || height  /* Bildbreite und -höhe in Feld 3      */
  87. IF Compare(UPPER(DB),UPPER(SubStr(path,1,Length(DB)))) = 0 THEN
  88.   path = DelStr(path,1,Length(DB)+1)
  89.  
  90. PutData $F4 path || bildname        /* Pfad/Name des Thumbnails in Feld 4  */
  91.                                     /* Falls der Pfad teilweise mit dem    */
  92.                                     /* Pfad von DataBase übereinstimmt,    */
  93.                                     /* wird dieser Teil vorher einfernt    */
  94.  
  95.